home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / p_man / cat3 / complib / sorm2r.z / sorm2r
Text File  |  1998-10-30  |  3KB  |  133 lines

  1.  
  2.  
  3.  
  4. SSSSOOOORRRRMMMM2222RRRR((((3333FFFF))))                                                          SSSSOOOORRRRMMMM2222RRRR((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      SORM2R - overwrite the general real m by n matrix C with   Q * C if SIDE
  10.      = 'L' and TRANS = 'N', or   Q'* C if SIDE = 'L' and TRANS = 'T', or   C *
  11.      Q if SIDE = 'R' and TRANS = 'N', or   C * Q' if SIDE = 'R' and TRANS =
  12.      'T',
  13.  
  14. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  15.      SUBROUTINE SORM2R( SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK, INFO
  16.                         )
  17.  
  18.          CHARACTER      SIDE, TRANS
  19.  
  20.          INTEGER        INFO, K, LDA, LDC, M, N
  21.  
  22.          REAL           A( LDA, * ), C( LDC, * ), TAU( * ), WORK( * )
  23.  
  24. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  25.      SORM2R overwrites the general real m by n matrix C with
  26.  
  27.      where Q is a real orthogonal matrix defined as the product of k
  28.      elementary reflectors
  29.  
  30.            Q = H(1) H(2) . . . H(k)
  31.  
  32.      as returned by SGEQRF. Q is of order m if SIDE = 'L' and of order n if
  33.      SIDE = 'R'.
  34.  
  35.  
  36. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  37.      SIDE    (input) CHARACTER*1
  38.              = 'L': apply Q or Q' from the Left
  39.              = 'R': apply Q or Q' from the Right
  40.  
  41.      TRANS   (input) CHARACTER*1
  42.              = 'N': apply Q  (No transpose)
  43.              = 'T': apply Q' (Transpose)
  44.  
  45.      M       (input) INTEGER
  46.              The number of rows of the matrix C. M >= 0.
  47.  
  48.      N       (input) INTEGER
  49.              The number of columns of the matrix C. N >= 0.
  50.  
  51.      K       (input) INTEGER
  52.              The number of elementary reflectors whose product defines the
  53.              matrix Q.  If SIDE = 'L', M >= K >= 0; if SIDE = 'R', N >= K >=
  54.              0.
  55.  
  56.      A       (input) REAL array, dimension (LDA,K)
  57.              The i-th column must contain the vector which defines the
  58.              elementary reflector H(i), for i = 1,2,...,k, as returned by
  59.              SGEQRF in the first k columns of its array argument A.  A is
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. SSSSOOOORRRRMMMM2222RRRR((((3333FFFF))))                                                          SSSSOOOORRRRMMMM2222RRRR((((3333FFFF))))
  71.  
  72.  
  73.  
  74.              modified by the routine but restored on exit.
  75.  
  76.      LDA     (input) INTEGER
  77.              The leading dimension of the array A.  If SIDE = 'L', LDA >=
  78.              max(1,M); if SIDE = 'R', LDA >= max(1,N).
  79.  
  80.      TAU     (input) REAL array, dimension (K)
  81.              TAU(i) must contain the scalar factor of the elementary reflector
  82.              H(i), as returned by SGEQRF.
  83.  
  84.      C       (input/output) REAL array, dimension (LDC,N)
  85.              On entry, the m by n matrix C.  On exit, C is overwritten by Q*C
  86.              or Q'*C or C*Q' or C*Q.
  87.  
  88.      LDC     (input) INTEGER
  89.              The leading dimension of the array C. LDC >= max(1,M).
  90.  
  91.      WORK    (workspace) REAL array, dimension
  92.              (N) if SIDE = 'L', (M) if SIDE = 'R'
  93.  
  94.      INFO    (output) INTEGER
  95.              = 0: successful exit
  96.              < 0: if INFO = -i, the i-th argument had an illegal value
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.